home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2006 September
/
PCWorld_2006-09_cd.bin
/
komercni software
/
zoner
/
zps8_cz.exe
/
{app}
/
HTMLPublish
/
slideshow.ZHT
/
main.js
< prev
next >
Wrap
Text File
|
2006-03-22
|
13KB
|
399 lines
function GeneratePreview(cSourcePath, cDestPath, cID)
{
//MessageBox("cSourcePath = " + cSourcePath + "\ncDestPath = " + cDestPath + "\ncID = " + cID, "Preview", MB_OK);
}
function GetAlbumPageFileName(iPage) {
if (iPage == 0) {
return "index.htm";
} else {
return "page" + IntToStr(iPage, 3) + ".htm";
}
}
function GetImagePageFileName(iImg) {
return "ipage" + IntToStr(iImg, 5) + ".htm";
}
function GetPagesNavigation(iPagesCount, iCurPage) {
cNavigation = "";
for (iPage=0; iPage < iPagesCount; iPage++) {
if (iPage == iCurPage) {
cNavigation += "<b>"+IntToStr(iPage+1, 0)+"</b>\n";
} else {
cNavigation += "<a href=\""+GetAlbumPageFileName(iPage)+"\">"+IntToStr(iPage+1, 0)+"</a>\n";
}
}
return cNavigation;
}
function GenerateAlbum(cSourcePath, cDestPath)
{
var iTNCols=666;
var iTNRows=666;
var iTNDescFontSize = 12;
var iFilesCount = lSelectedFiles.GetCount();
var iDirsCount = lSelectedDirs.GetCount();
var iFilesPerPage = iFilesCount;
var iPagesCount = Math.ceil(iFilesCount/iFilesPerPage);
var iNavPosition = parseInt(cNavPosition);
var iTNBoxWidth = iTNWidth + 40;
var iTNBoxHeight = iTNHeight + 2 * iTNDescFontSize + 20;
// barva pisma
var iATitleColor = iTextColor;
var iITitleColor = iTextColor;
// barva odkazu
var iAActiveTitleColor = iActiveColor;
var iIActiveTitleColor = iActiveColor;
var iTNCols = 1;
var iATitleBgColor= iBgColor;
var iATitleOBorderColor = iBgColor;
var iATitleIBorderColor = iBgColor;
var iTNDescFontColor = 0;
var iTNDescFontSize = 10;
var iAFootFontColor = iFootFontColor;
var iAFootFontSize = iFootFontSize;
var iImgDescFontColor =0;
var iImgDescFontSize = 10;
var iIFootFontColor = iFootFontColor;
var iIFootFontSize = iFootFontSize;
var iATitleWidth = iTNBoxWidth * iTNCols;
var iATitleHeight = 30;
var iATitleWidth2 = iATitleWidth-2;
var iATitleHeight2 = iATitleHeight-2;
var iITitleWidth = 0;
var iITitleHeight = 0;
var iITitleWidth2 = 0;
var iITitleHeight2 = 0;
var cAlbumName = "";
var cTNDescText = "{T}";
var cImgDescText = "";
var cIFootText = "";
var cPageTitle = "";
var tAlbumCSS = new CTemplate();
tAlbumCSS.Load(cSourcePath + "album_css.tpl", 0);
tAlbumCSS.SetReplace("${BGCOLOR}", HEXColor(iBgColor));
tAlbumCSS.SetReplace("${TITLE_WIDTH}", iATitleWidth);
tAlbumCSS.SetReplace("${TITLE_HEIGHT}", iATitleHeight);
tAlbumCSS.SetReplace("${TITLE_WIDTH_2}", iATitleWidth2);
tAlbumCSS.SetReplace("${TITLE_HEIGHT_2}", iATitleHeight2);
tAlbumCSS.SetReplace("${TITLE_TEXT_SIZE}", iFontSize);
tAlbumCSS.SetReplace("${TITLE_FONT_COLOR}", HEXColor(iATitleColor));
tAlbumCSS.SetReplace("${TITLE_ACTIVE_FONT_COLOR}", HEXColor(iAActiveTitleColor));
tAlbumCSS.SetReplace("${TITLE_BGCOLOR}", HEXColor(iATitleBgColor));
tAlbumCSS.SetReplace("${TITLE_OBORDER_COLOR}", HEXColor(iATitleOBorderColor));
tAlbumCSS.SetReplace("${TITLE_IBORDER_COLOR}", HEXColor(iATitleIBorderColor));
tAlbumCSS.SetReplace("${TN_BOX_WIDTH}", iTNBoxWidth);
tAlbumCSS.SetReplace("${TN_BOX_HEIGHT}", iTNBoxHeight);
tAlbumCSS.SetReplace("${TN_FONT_COLOR}", HEXColor(iDescFontColor));
tAlbumCSS.SetReplace("${TN_FONT_SIZE}", iDescFontSize);
tAlbumCSS.SetReplace("${FOOT_FONT_COLOR}", HEXColor(iAFootFontColor));
tAlbumCSS.SetReplace("${FOOT_FONT_SIZE}", iAFootFontSize);
SaveString(cDestPath + "album.css", tAlbumCSS.Replace(), 0);
var iITitleWidth = iImgWidth;
var iITitleHeight = 30;
var iITitleWidth2 = iITitleWidth-2;
var iITitleHeight2 = iITitleHeight-2;
var tImgCSS = new CTemplate();
tImgCSS.Load(cSourcePath + "image_css.tpl", 0);
tImgCSS.SetReplace("${BGCOLOR}", HEXColor(iBgColor));
tImgCSS.SetReplace("${TITLE_WIDTH}", iITitleWidth);
tImgCSS.SetReplace("${TITLE_HEIGHT}", iITitleHeight);
tImgCSS.SetReplace("${TITLE_WIDTH_2}", iITitleWidth2);
tImgCSS.SetReplace("${TITLE_HEIGHT_2}", iITitleHeight2);
tImgCSS.SetReplace("${IMAGE_TITLE_TEXT_SIZE}", iTitleFontSize);
tImgCSS.SetReplace("${IMAGE_TITLE_FONT_COLOR}", HEXColor(iTitleTextColor));
tImgCSS.SetReplace("${TITLE_TEXT_SIZE}", iFontSize);
tImgCSS.SetReplace("${TITLE_FONT_COLOR}", HEXColor(iITitleColor));
tImgCSS.SetReplace("${TITLE_ACTIVE_FONT_COLOR}", HEXColor(iIActiveTitleColor));
tImgCSS.SetReplace("${TITLE_BGCOLOR}", HEXColor(iITitleBgColor));
tImgCSS.SetReplace("${TITLE_OBORDER_COLOR}", HEXColor(iITitleOBorderColor));
tImgCSS.SetReplace("${TITLE_IBORDER_COLOR}", HEXColor(iITitleIBorderColor));
tImgCSS.SetReplace("${DESC_FONT_COLOR}", HEXColor(iDescFontColor));
tImgCSS.SetReplace("${DESC_FONT_SIZE}", iDescFontSize);
tImgCSS.SetReplace("${FOOT_FONT_COLOR}", HEXColor(iIFootFontColor));
tImgCSS.SetReplace("${FOOT_FONT_SIZE}", iIFootFontSize);
SaveString(cDestPath + "image.css", tImgCSS.Replace(), 0);
var tFrames = new CTemplate();
tFrames.Load(cSourcePath + "frames.tpl", 0);
var tFrame = new CTemplate();
if (iNavPosition==4)
tFrame.Load(cSourcePath + "fright.tpl", 0);
else
if (iNavPosition==3)
tFrame.Load(cSourcePath + "fleft.tpl", 0);
else
if (iNavPosition==2)
tFrame.Load(cSourcePath + "fbottom.tpl", 0);
else
tFrame.Load(cSourcePath + "ftop.tpl", 0);
tFrame.SetReplace("${PREVIEWS_HEIGHT}", iTNHeight + 32);
tFrame.SetReplace("${PREVIEWS_WIDTH}", iTNWidth + 32);
tFrames.SetReplace("${DOCUMENT_TITLE}", cAPageTitle);
tFrames.SetReplace("${FRAMES}", tFrame.Replace());
SaveString(cDestPath + "index.htm", tFrames.Replace(), 0);
var tAlbum = new CTemplate();
tAlbum.Load(cSourcePath + "album.tpl", 0);
var tTN = new CTemplate();
tTN.Load(cSourcePath + "cell.tpl", 0);
var tImg = new CTemplate();
tImg.Load(cSourcePath + "image.tpl", 0);
var tFooter = new CTemplate();
tFooter.Load(cSourcePath + "footer.tpl", 0);
var tDesc = new CTemplate();
tDesc.Load(cSourcePath + "desc.tpl", 0);
var tTitle = new CTemplate();
tTitle.Load(cSourcePath + "title.tpl", 0);
InitProgress(iFilesCount*2 + iDirsCount);
var iItem = 0;
if (iFilesCount > 0)
{
// pages with images
var iImgs = 1;
for (var iImg = 1; iImgs <= iFilesCount; iImg++) {
SetProgress(iItem++);
cFileName = lSelectedFiles.GetAt(iImgs-1);
if (bUseOriginalFileNames)
{
cGetFileName = GetFileName(cFileName);
cTNFileName = "tn_" + cGetFileName + ".jpg";
cImgFileName = cGetFileName + ".jpg";
}
else
{
cNumFileName = IntToStr(iImgs, 5);
cTNFileName = "tn" + cNumFileName + ".jpg";
cImgFileName = "img" + cNumFileName + ".jpg";
}
var pImg = new CImage();
pImg.Load(cFileName, 0);
pImg.Resize(iImgWidth, iImgHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
pImg.SaveAs(cDestPath + cImgFileName, JPGformat, iImgJPEG, 0);
pImg.Resize(iTNWidth, iTNHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
//pImg.SaveAs(cDestPath + cTNFileName + ".png", PNGformat, 0, 0);
// pImg.Render(iBgColor);
pImg.SaveAs(cDestPath + cTNFileName, JPGformat, iTNJPEG, 0);
tImg.SetReplace("${IMG_TITLE}", cPageTitle);
if (bImageTitle)
{
tTitle.SetReplace("${IMAGE_TITLE}", ReplaceExifStrings(cImageTitle, cFileName, cDestPath + cImgFileName));
tImg.SetReplace("${IMAGE_TITLE}", tTitle.Replace());
}
else
tImg.SetReplace("${IMAGE_TITLE}", "");
tImg.SetReplace("${IMG_NAME}", ReplaceExifStrings(cImageName, cFileName, cDestPath + cImgFileName));
if (iImgs > 1) {
tImg.SetReplace("${IMG_PREVPAGE}", "<a href=\""+GetImagePageFileName(iImgs-1)+"\"><b><<</b> </a>");
} else {
tImg.SetReplace("${IMG_PREVPAGE}", "");
}
tImg.SetReplace("${IMG_POSITION}", (iImgs) + " / " + iFilesCount);
if (iImgs < iFilesCount) {
tImg.SetReplace("${IMG_NEXTPAGE}", "<a href=\""+GetImagePageFileName(iImgs+1)+"\"> <b>>></b></a>");
} else {
tImg.SetReplace("${IMG_NEXTPAGE}", "");
}
tImg.SetReplace("${IMG_FILENAME}", cImgFileName);
if (bDesc)
{
tDesc.SetReplace("${IMG_DESC}", ReplaceExifStrings(cDescText, cFileName, cDestPath + cImgFileName));
tImg.SetReplace("${IMG_DESC}", tDesc.Replace());
}
else
{
tImg.SetReplace("${IMG_DESC}", "");
}
if (bFooter)
{
tFooter.SetReplace("${IMG_FOOT}", ReplaceExifStrings(cAFootText, cFileName, cDestPath + cImgFileName));
tImg.SetReplace("${IMG_FOOT}", tFooter.Replace());
}
else
{
tImg.SetReplace("${IMG_FOOT}", "");
}
SaveString(cDestPath + GetImagePageFileName(iImgs), tImg.Replace(), 0);
pImg.Close();
iImgs++;
}
}
else
{
var tNoImg = new CTemplate();
tNoImg.Load(cSourcePath + "noimage.tpl", 0);
SaveString(cDestPath + GetImagePageFileName(1), tNoImg.Replace(), 0);
}
// TOP INDEX
var cPageFileName = "list.htm";
tAlbum.SetReplace("${ALB_TITLE}", "");
tAlbum.SetReplace("${ALB_NAME}", "");
tAlbum.SetReplace("${ALB_PREVPAGE}", "");
tAlbum.SetReplace("${ALB_PAGES_NAVIGATION}", "");
tAlbum.SetReplace("${ALB_NEXTPAGE}", "");
var cThumbnails = "<table>";
if (iNavPosition!=3 && iNavPosition!=4)
cThumbnails += "<tr>";
tTN.SetReplace("${TN_TARGET}", "_parent")
for (var iDir = 0; iDir <= iDirsCount; iDir++) {
if (iDir == 0)
{
if (pAlbum.bIsCurrentGalleryRootGallery)
{
var pFolderImage = new CImage();
pFolderImage.LoadDirPreview(pAlbum.cAlbumRootPath, null);
pFolderImage.Render(iBgColor);
pFolderImage.Resize(iTNWidth, iTNHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
pFolderImage.SaveAs(cDestPath + "folder.png", PNGformat, 0, 0);
pFolderImage.Close();
continue;
}
cRelDirName = "..";
}
else
{
SetProgress(iItem++);
cDirName = lSelectedDirs.GetAt(iDir-1);
cRelDirName = StripFilePath(cDirName);
CreateDir(cDestPath + cRelDirName);
var pFolderImage = new CImage();
pFolderImage.LoadDirPreview(cDirName, null);
pFolderImage.Render(iBgColor);
pFolderImage.Resize(iTNWidth, iTNHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
pFolderImage.SaveAs(cDestPath + cRelDirName + "\\" + "folder.png", PNGformat, 0, 0);
pFolderImage.Close();
}
if (iNavPosition==3 || iNavPosition==4)
{
tTN.SetReplace("${TN_CELL_START}", "<tr>");
tTN.SetReplace("${TN_CELL_END}", "</tr>");
}
else
{
tTN.SetReplace("${TN_CELL_START}", "");
tTN.SetReplace("${TN_CELL_END}", "");
}
tTN.SetReplace("${TN_IMG_PAGENAME}", cRelDirName + "/index.htm");
tTN.SetReplace("${TN_FILENAME}", cRelDirName + "/" + "folder.png");
if (iDir == 0)
tTN.SetReplace("${TN_DESC}", "..");
else
tTN.SetReplace("${TN_DESC}", ReplaceExifStrings(cTNDescText, cDirName, cDirName));
cThumbnails += tTN.Replace();
}
tTN.SetReplace("${TN_TARGET}", "image")
for (var iImg = 1; iImg <= iFilesCount; iImg++) {
SetProgress(iItem++);
cFileName = lSelectedFiles.GetAt(iImg-1);
if (bUseOriginalFileNames)
{
cGetFileName = GetFileName(cFileName);
cTNFileName = "tn_" + cGetFileName + ".jpg";
cImgFileName = cGetFileName + ".jpg";
}
else
{
cNumFileName = IntToStr(iImg, 5);
cTNFileName = "tn" + cNumFileName + ".jpg";
cImgFileName = "img" + cNumFileName + ".jpg";
}
if (iNavPosition==3 || iNavPosition==4)
{
tTN.SetReplace("${TN_CELL_START}", "<tr>");
tTN.SetReplace("${TN_CELL_END}", "</tr>");
}
else
{
tTN.SetReplace("${TN_CELL_START}", "");
tTN.SetReplace("${TN_CELL_END}", "");
}
tTN.SetReplace("${TN_IMG_PAGENAME}", GetImagePageFileName(iImg));
tTN.SetReplace("${TN_FILENAME}", cTNFileName);
tTN.SetReplace("${TN_DESC}", "");//ReplaceExifStrings(cTNDescText, cFileName, cDestPath + cImgFileName));
cThumbnails += tTN.Replace();
}
if (iNavPosition!=3 && iNavPosition!=4)
cThumbnails += "</tr>";
cThumbnails += "</table>";
tAlbum.SetReplace("${ALB_THUMBNAILS}", cThumbnails);
tAlbum.SetReplace("${ALB_FOOT}", "");
SaveString(cDestPath + cPageFileName, tAlbum.Replace(), 0);
return cDestPath+"index.htm";
// return cDestPath+GetAlbumPageFileName(0);
}
INIT_OK;